<!doctype html>
<html ng-app>
<head>
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.8/angular.min.js"></script>
</head>
<body>
<table ng-controller='AlbumController'>
    <tr>
        <td ng-click='sortByName()'>Name</td>
        <td ng-click='sortByDuration()'>Duration</td>
    </tr>
    <tr ng-repeat='track in album'>
        <td>{{track.name}}</td>
        <td>{{track.duration}}</td>
    </tr>
</table>
<script>
    function AlbumController($scope) {
        $scope.album = [
            {name: 'Southwest Serenade', duration: '5:34'},
            {name: 'Northern Light Waltz', duration: '3:21'},
            {name: 'Eastern Tango', duration: '17:45'}
        ];

        $scope.sortByName = function () {
            var sorter = function (a, b) {
                var A = a['name'], B = b['name'];
                return ((A < B) ? -1 : (A > B) ? +1 : 0);
            };

            $scope.album = $scope.album.sort(sorter);
        };

        $scope.sortByDuration = function () {
            var sorter = function (a, b) {
                var A = a['duration'], B = b['duration'];
                return ((A < B) ? -1 : (A > B) ? 1 : 0);
            };

            $scope.album = $scope.album.sort(sorter);
        };

    }
</script>
</body>
</html>